import dbus 
import dbus._dbus

class org_freedesktop_DBusWrapper:
    def __init__(self, bustype):
        if bustype == dbus._dbus.BusConnection.TYPE_SESSION:
            self.bus = dbus.SessionBus()
        else:
            self.bus = dbus.SystemBus()
        self.object = self.bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus')
        self.interface = dbus.Interface(self.object, 'org.freedesktop.DBus')                        
    def Hello(self):
        return self.interface.Hello()

    def RequestName(self, arg0, arg1):
        return self.interface.RequestName(arg0, arg1)

    def ReleaseName(self, arg0):
        return self.interface.ReleaseName(arg0)

    def StartServiceByName(self, arg0, arg1):
        return self.interface.StartServiceByName(arg0, arg1)

    def UpdateActivationEnvironment(self, arg0):
        return self.interface.UpdateActivationEnvironment(arg0)

    def NameHasOwner(self, arg0):
        return self.interface.NameHasOwner(arg0)

    def ListNames(self):
        return self.interface.ListNames()

    def ListActivatableNames(self):
        return self.interface.ListActivatableNames()

    def AddMatch(self, arg0):
        return self.interface.AddMatch(arg0)

    def RemoveMatch(self, arg0):
        return self.interface.RemoveMatch(arg0)

    def GetNameOwner(self, arg0):
        return self.interface.GetNameOwner(arg0)

    def ListQueuedOwners(self, arg0):
        return self.interface.ListQueuedOwners(arg0)

    def GetConnectionUnixUser(self, arg0):
        return self.interface.GetConnectionUnixUser(arg0)

    def GetConnectionUnixProcessID(self, arg0):
        return self.interface.GetConnectionUnixProcessID(arg0)

    def GetAdtAuditSessionData(self, arg0):
        return self.interface.GetAdtAuditSessionData(arg0)

    def GetConnectionSELinuxSecurityContext(self, arg0):
        return self.interface.GetConnectionSELinuxSecurityContext(arg0)

    def ReloadConfig(self):
        return self.interface.ReloadConfig()

    def GetId(self):
        return self.interface.GetId()

    def GetConnectionCredentials(self, arg0):
        return self.interface.GetConnectionCredentials(arg0)


class FireSession(org_freedesktop_DBusWrapper):
    def __init__(self):
        super(FireSession, self).__init__(dbus._dbus.BusConnection.TYPE_SESSION)

if __name__ == '__main__':
    import fire
    fire.Fire(FireSession)